﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ASPPanificadora.controller;
using ASPPanificadora.classes;
using ASPPanificadora.Funcoes;

namespace ASPPanificadora.Telas
{
    public partial class TrocaSenhaView : System.Web.UI.Page
    {
        IUsuarioController usuarioController;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session != null)
            {
                if (Session["IdUsuario"] == null || Session["IdUsuario"].Equals(0))
                {
                    Response.Redirect("~/Telas/LoginView.aspx");
                }
                else if (Session["TipoUsuario"] == null || !ControleAcessoTela.ConfirmaAcessoTela("TrocaSenhaView", Session["TipoUsuario"]))
                    Response.Redirect("~/Default.aspx");
            }
            else
                Response.Redirect("~/Telas/LoginView.aspx");
        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Default.aspx");
        }

        protected void ExibeMensagem(string msg)
        {
            Page.ClientScript.RegisterStartupScript(typeof(string), string.Empty,
            string.Format("window.alert(\"{0}\");", msg), true);
        }

        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            int idUsuario = Convert.ToInt32(Session["IdUsuario"]);
            string senhaUsuario = CriptografiaMD5.CriptografarSenhaMD5(txtSenhaAtual.Text);
            usuarioController = new UsuarioController();
            Usuario usuario = usuarioController.PesquisarPorIdESenha(idUsuario, senhaUsuario);

            if (usuario != null && usuario.Id != 0)
            {
                if (txtNovaSenha.Text == txtConfirmaSenha.Text)
                {
                    string msg = "";
                    try
                    {
                        usuario.Senha = CriptografiaMD5.CriptografarSenhaMD5(txtNovaSenha.Text);
                        msg = usuarioController.Salvar(usuario);
                        Response.Redirect("~/Default.aspx");
                    }
                    catch (Exception ex)
                    {
                        msg = "Erro: " + ex.Message.ToString();
                    }
                    finally
                    {
                        ExibeMensagem(msg);
                    }
                }
                else
                    ExibeMensagem("Nova senha e confirmação não conferem");
            }
            else
                ExibeMensagem("Senha não confere com a cadastrada");

        }


    }
}